#include<stdio.h>
#define MAX 99999999
int n,m,p,q,min=MAX,a[51][51],book[51][51];
int next[4][2]={
                {0,1},//right
                {1,0},//down
                {0,-1},//left
                {-1,0}//up
                };
void dfs(int x,int y,int step)
{
    int tx,ty,k;
    if(x==p&&y==q)
    {
        if(step<min)
            min=step;
        return ;
    }
    for(k=0;k<=3;k++)
    {
        tx=x+next[k][0];
        ty=y+next[k][1];
        if(tx<1||ty<1||tx>n||ty>m)
            continue;
        if(a[tx][ty]==0&&book[tx][ty]==0)
        {
            book[tx][ty]=1;
            dfs(tx,ty,step+1);
            book[tx][ty]=0;
        }
    }
}
int main()
{
    int i,j,startx,starty;
    scanf("%d%d",&n,&m);//n行m列
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            scanf("%d",&a[i][j]);
    scanf("%d%d%d%d",&startx,&starty,&p,&q);
    book[startx][starty]=1;
    dfs(startx,starty,0);
    if(min==MAX)
    printf("Not Found!!!");
    else
    printf("%d",min);
    return 0;
}